package deadlock

const(
	//COP0
	EX_ADES = 4; //Erro de endereço de Store Exception
	EX_NO = 0;

	//OpCodes
	SPECIAL = 0; //tipo de instruções especiais
		ADD = 32;
		AND = 36;
		SUB = 34;
	J = 2;
	BEQ = 4;
	LW = 35;
	SW = 43;

	//Register
	RRS_RRT_WRD = 1;
	RRS_WRT = 2;
	RRS_RRT= 3;

	WAIT_EXCEPTION;
	ALU;

	//Decode var
	YES = 1;
	NO = 2;
	IGNORE_JUMPS = 3;

	//Decode states
	STATE_BRANCH_SENT = 1;
	STATE_BRANCH_LIKELY_SENT = 2;
	STATE_DELAY_SLOT_SENT = 3;
	STATE_NULLIFY_NEXT = 4;
	STATE_NULLIFY_NEXT_2 = 5;
	STATE_NULLIFY_SECOND = 6;
	STATE_OTHERS = 7;

	//PC command
	PC_NEXT = 777;
	PC_IMMEDIATE_JUMP = 665;
	
	INSTRUCTION_SIZE = 1;
	NOTHING
	
	
	datainiciatial = "$timescale 1ns $end\n"+
	"$scope module yam $end\n"+
	"$var wire 1 req_ack_ack_DECO DECO_reques $end\n"+
	"$var wire 32 cha_DECO DECO_chanel $end\n"+

	"$var wire 1 req_ack_DERE DERE_reques $end\n"+
	"$var wire 32 cha_DERE DERE_chanel $end\n"+

	"$var wire 1 req_ack_DEDM DEDM_reques $end\n"+
	"$var wire 32 cha_DEDM DEDM_chanel $end\n"+

	"$var wire 1 req_ack_DEMU DEMU_reques $end\n"+
	"$var wire 32 cha_DEMU DEMU_chanel $end\n"+

	"$var wire 1 req_ack_ALMU ALMU_reques $end\n"+
	"$var wire 32 cha_ALMU ALMU_chanel $end\n"+

	"$var wire 1 req_ack_MURE MURE_reques $end\n"+
	"$var wire 32 cha_MURE MURE_chanel $end\n"+

	"$var wire 1 req_ack_REDM REDM_reques $end\n"+
	"$var wire 32 cha_REDM REDM_chanel $end\n"+

	"$var wire 1 req_ack_DMAL DMAL_reques $end\n"+
	"$var wire 32 cha_DMAL DMAL_chanel $end\n"+

	"$var wire 1 req_ack_DEPC DEPC_reques $end\n"+
	"$var wire 32 cha_DEPC DEPC_chanel $end\n"+

	"$var wire 1 req_ack_DEAL DEAL_reques $end\n"+
	"$var wire 32 cha_DEAL DEAL_chanel $end\n"+

	"$var wire 1 req_ack_INST INST_reques $end\n"+
	"$var wire 32 cha_INST INST_chanel $end\n"+

	"$var wire 1 req_ack_LS_ADDR LS_ADDR_reques $end\n"+
	"$var wire 32 cha_LS_ADDR LS_ADDR_chanel $end\n"+

	"$var wire 1 req_ack_LS_RW LS_RW_reques $end\n"+
	"$var wire 32 cha_LS_RW LS_RW_chanel $end\n"+

	"$var wire 1 req_ack_LS_DATA_IN LS_DATA_IN_reques $end\n"+
	"$var wire 32 cha_LS_DATA_IN LS_DATA_IN_chanel $end\n"+

	"$var wire 1 req_ack_LS_DATA_OUT LS_DATA_OUT_reques $end\n"+
	"$var wire 32 cha_LS_DATA_OUT LS_DATA_OUT_chanel $end\n"+

	
	
	"$upscope $end\n"+
	"$enddefinitions $end\n"+
	"$dumpvars\n"+
	"bx req_ack_DECO\n"+
	"bx cha_DECO\n"+
	
	"bx req_ack_DERE\n"+
	"bx cha_DERE\n"+
	
	"bx req_ack_DEDM\n"+
	"bx cha_DEDM\n"+
	
	"bx req_ack_DEMU\n"+
	"bx cha_DEMU\n"+
	
	"bx req_ack_ALMU\n"+
	"bx cha_ALMU\n"+
	
	"bx req_ack_MURE\n"+
	"bx cha_MURE\n"+
	
	"bx req_ack_REDM\n"+
	"bx cha_REDM\n"+
	
	"bx req_ack_DMAL\n"+
	"bx cha_DMAL\n"+
	
	"bx req_ack_DEPC\n"+
	"bx cha_DEPC\n"+
	
	"bx req_ack_DEAL\n"+
	"bx cha_DEAL\n"+
	
	"$end\n"

)